package com.naiterui.ehp.bs.emr.entity.mongo;

import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 线上诊室基础信息
 *
 * @author wangzehao
 * @date 2018/11/20 7:57 PM
 * @since 1.0.0
 */
public abstract class BaseMedicalRecordConsultRoom implements java.io.Serializable {
    /**
     * 线上诊室病历版本类型  旧版本
     */
    public static final int CONSULT_ROOM_TYPE_OLD = 0;
    /**
     * 线上诊室病历版本类型  新版本
     */
    public static final int CONSULT_ROOM_TYPE_NEW = 1;
    /**
     * 是否初复诊 初诊
     */
    public static final int FIRSTDIAGNOSIS_TYPE_YES = 0;

    /**
     * 是否初复诊 复诊
     */
    @SuppressWarnings("unused")
    public static final int FIRSTDIAGNOSIS_TYPE_NO = 1;

    private static final long serialVersionUID = -3617845910926491379L;
    /**
     * 联话电话
     */
    private String patientPhone;

    /**
     * 疾病主题
     */
    private String consultTheme;

    /**
     * 病情主诉
     */
    private String mainComplaint;

    /**
     * 药品食物过敏史
     * 患者端：您平常会对什么样的食物或者药物过敏？
     * cms：药品食物过敏史
     */
    private String medicAllergys;

    /**
     * 既往病史
     */
    private String pastHistory;

    /**
     * 图片列表
     */
    private List<MCaseFileImg> imgList;

    /**
     * 线上诊室类型 0或null: 线上诊室1.0    1:线上诊室2.0
     */
    private Integer type;

    /**
     * 是否初复诊  0:初诊 1:复诊
     * 患者端：您之前是否前往医院看过医生？
     * CMS:初复诊
     */
    private Integer firstDiagnosis;

    /**
     * 疾病处理情况
     */
    private String diseaseManagement;

    /**
     * 症状时长
     * 患者端：这些的症状持续多长时间了？
     * CMS: 症状时长
     */
    private String symptomsOfTime;

    /**
     * 其他不适
     * 患者端：您的身体有没有其他不适？
     * CMS：其他不适
     */
    private String otherUnwell;

    /**
     * 血压-低 (舒张压)
     * 线上诊室2.0版本去除此字段
     */
    @Deprecated
    private Integer diastole;

    /**
     * 血压-高 (收缩压)
     * 线上诊室2.0版本去除此字段
     */
    @Deprecated
    private Integer systolic;
    /**
     * 治疗情况
     * 2.0去掉此字段
     */
    @Deprecated
    private String treatment;
    /**
     * 患病时长
     * 2.0去掉此字段
     */
    @Deprecated
    private String sickenDate;
    /**
     * 用药情况
     * 2.0版本去掉此字段
     */
    @Deprecated
    private String useDrug;

    public String getPatientPhone() {
        return this.patientPhone;
    }

    public void setPatientPhone(String patientPhone) {
        this.patientPhone = patientPhone;
    }

    public String getConsultTheme() {
        return this.consultTheme;
    }

    public void setConsultTheme(String consultTheme) {
        this.consultTheme = consultTheme;
    }

    public String getMainComplaint() {
        return this.mainComplaint;
    }

    public void setMainComplaint(String mainComplaint) {
        this.mainComplaint = mainComplaint;
    }

    public String getMedicAllergys() {
        return this.medicAllergys;
    }

    public void setMedicAllergys(String medicAllergys) {
        this.medicAllergys = medicAllergys;
    }

    public Integer getDiastole() {
        return this.diastole;
    }

    public void setDiastole(Integer diastole) {
        this.diastole = diastole;
    }

    public Integer getSystolic() {
        return this.systolic;
    }

    public void setSystolic(Integer systolic) {
        this.systolic = systolic;
    }

    public String getPastHistory() {
        return this.pastHistory;
    }

    public void setPastHistory(String pastHistory) {
        this.pastHistory = pastHistory;
    }

    public String getTreatment() {
        return this.treatment;
    }

    public void setTreatment(String treatment) {
        this.treatment = treatment;
    }

    public String getSickenDate() {
        return this.sickenDate;
    }

    public void setSickenDate(String sickenDate) {
        this.sickenDate = sickenDate;
    }

    public String getUseDrug() {
        return this.useDrug;
    }

    public void setUseDrug(String useDrug) {
        this.useDrug = useDrug;
    }

    public List<MCaseFileImg> getImgList() {
        return this.imgList;
    }

    public void setImgList(List<MCaseFileImg> imgList) {
        this.imgList = imgList;
    }

    public Integer getType() {
        return this.type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getFirstDiagnosis() {
        return this.firstDiagnosis;
    }

    public void setFirstDiagnosis(Integer firstDiagnosis) {
        this.firstDiagnosis = firstDiagnosis;
    }

    public String getDiseaseManagement() {
        return this.diseaseManagement;
    }

    public void setDiseaseManagement(String diseaseManagement) {
        this.diseaseManagement = diseaseManagement;
    }

    public String getSymptomsOfTime() {
        return this.symptomsOfTime;
    }

    public void setSymptomsOfTime(String symptomsOfTime) {
        this.symptomsOfTime = symptomsOfTime;
    }

    public String getOtherUnwell() {
        return this.otherUnwell;
    }

    public void setOtherUnwell(String otherUnwell) {
        this.otherUnwell = otherUnwell;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}
